import instance from '@/utils/request'

// 获取圈子列表
export function getCircles(query) {
    return instance.request({
        method: 'get',
        url: '/circles',
        params: query
    })
}

// 获取圈子详情
export function getCircleDetail(circleId) {
    return instance.request({
        method: 'get',
        url: `/circles/${circleId}`
    })
}

// 创建圈子（仅管理员）
export function createCircle(data) {
    return instance.request({
        method: 'post',
        url: '/circles',
        data,
        headers: {
            'admintoken': localStorage.getItem('adminToken') // 使用小写
        }
    })
}

// 更新圈子信息（仅管理员）
export function updateCircle(circleId, data) {
    return instance.request({
        method: 'put',
        url: `/circles/${circleId}`,
        data,
        headers: {
            'admintoken': localStorage.getItem('adminToken') // 使用小写
        }
    })
}

// 删除圈子（仅管理员）
export function deleteCircle(circleId) {
    return instance.request({
        method: 'delete',
        url: `/circles/${circleId}`,
        headers: {
            'admintoken': localStorage.getItem('adminToken') // 使用小写
        }
    })
}

// 获取热门圈子
export function getHotCircles(limit = 5) {
    return instance.request({
        method: 'get',
        url: '/circles/hot',
        params: { limit }
    })
}

// 搜索圈子
export function searchCircles(keyword, query = {}) {
    return instance.request({
        method: 'get',
        url: '/circles/search',
        params: {
            keyword,
            ...query
        }
    })
}

// 获取圈子统计信息（仅管理员）
export function getCircleStats() {
    return instance.request({
        method: 'get',
        url: '/circles/stats',
        headers: {
            'admintoken': localStorage.getItem('adminToken') // 使用小写
        }
    })
}

// 用户加入圈子
export function joinCircle(circleId) {
    return instance.request({
        method: 'post',
        url: '/circles/join',
        data: { circle_id: circleId }
    })
}

// 用户退出圈子
export function leaveCircle(circleId) {
    return instance.request({
        method: 'post',
        url: '/circles/leave',
        data: { circle_id: circleId }
    })
}

// 获取用户加入的圈子列表
export function getUserCircles(query = {}) {
    return instance.request({
        method: 'get',
        url: '/circles/user-circles',
        params: query
    })
}

// 获取圈子的成员列表
export function getCircleMembers(circleId, query = {}) {
    return instance.request({
        method: 'get',
        url: '/circles/members',
        params: {
            circle_id: circleId,
            ...query
        }
    })
}

// 批量获取用户与圈子的关系状态
export function getCircleBatchStatus(circleIds) {
    return instance.request({
        method: 'post',
        url: '/circles/batch-status',
        data: { circle_ids: circleIds }
    })
}

//管理员移除圈子的成员
export function removeCircleMember(circleId, memberId) {
    return instance.request({
        method: 'post',
        url: '/circles/remove-member',
        data: {
            circle_id: circleId,
            user_id: memberId
        },
        headers: {
            'admintoken': localStorage.getItem('adminToken') // 使用小写
        }
    })
}